package com.ls.server.enums;

import lombok.Getter;

/**
 * 聊天模型类型枚举
 */
@Getter
public enum ModelType {

    /**
     * DashScope 模型
     */
    DASH_SCOPE("DASH_SCOPE", "阿里云通义模型"),

    /**
     * DeepSeek 模型
     */
    DEEP_SEEK("DEEP_SEEK", "DeepSeek模型"),

    /**
     * OpenAI 模型
     */
    OPEN_AI("OPEN_AI", "OpenAI模型"),

    /**
     * Ollama 模型
     */
    OLLAMA("OLLAMA", "Ollama模型"),

    /**
     * QWQ 32B 模型
     */
    QWQ_32B("QWQ_32B", "QWQ 32B模型");

    /**
     * 编码
     */
    private final String code;

    /**
     * 描述
     */
    private final String description;

    ModelType(String code, String description) {
        this.code = code;
        this.description = description;
    }

    /**
     * 根据编码获取模型类型
     *
     * @param code 编码
     * @return 模型类型
     */
    public static ModelType getByCode(String code) {
        for (ModelType type : values()) {
            if (type.getCode().equals(code)) {
                return type;
            }
        }
        return null;
    }
}
